package io.mft.commons.db.mapper.builder;

import java.util.ArrayList;
import java.util.List;

import io.mft.commons.db.mapper.DatasourceWraper;
import io.mft.commons.db.mapper.cache.ParameterMetadataWrapper;
import io.mft.commons.db.mapper.dbmethod.DbMapperParameter;
import io.mft.commons.function.response.kv.KVMap;

public class ParameterWrapper {

	private final KVMap parameter=new KVMap();
	private final List<DbMapperParameter> mapperParams=new ArrayList<DbMapperParameter>();
	//private final List<DbMapperParameter> baseMapperParams=new ArrayList<DbMapperParameter>();
	private ParameterMetadataWrapper parameterMetadataWrapper;
	public void setParameterMetadataWrapper(ParameterMetadataWrapper parameterMetadataWrapper) {
		this.parameterMetadataWrapper = parameterMetadataWrapper;
	}public ParameterMetadataWrapper getParameterMetadataWrapper() {
		return parameterMetadataWrapper;
	}
	private Object[] args;

	private final KVMap dbMethodParameter=new KVMap();
	private TbDIUWraper tbDIUWraper;
	public void setTbDIUWraper(TbDIUWraper tbDIUWraper) {
		this.tbDIUWraper = tbDIUWraper;
	}
	public TbDIUWraper getTbDIUWraper() {
		return tbDIUWraper;
	}
/*	public List<DbMapperParameter> getBaseMapperParams() {
		return baseMapperParams;
	}*/
	
	private DatasourceWraper datasourceWraper;
	public void setDatasourceWraper(DatasourceWraper datasourceWraper) {
		this.datasourceWraper = datasourceWraper;
	}
	public DatasourceWraper getDatasourceWraper() {
		return datasourceWraper;
	}
	public Object[] getArgs() {
		return args;
	}
	public void setArgs(Object[] args) {
		this.args = args;
	}
	

	
	public KVMap getDbMethodParameter() {
		return dbMethodParameter;
	}
	
	public KVMap getParameter() {
		return parameter;
	}
	public List<DbMapperParameter> getMapperParams() {
		return mapperParams;
	}
}
